package com.xbjtech.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIsNull() {
            addCriterion("buyer_name is null");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIsNotNull() {
            addCriterion("buyer_name is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerNameEqualTo(String value) {
            addCriterion("buyer_name =", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotEqualTo(String value) {
            addCriterion("buyer_name <>", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameGreaterThan(String value) {
            addCriterion("buyer_name >", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_name >=", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLessThan(String value) {
            addCriterion("buyer_name <", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLessThanOrEqualTo(String value) {
            addCriterion("buyer_name <=", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLike(String value) {
            addCriterion("buyer_name like", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotLike(String value) {
            addCriterion("buyer_name not like", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIn(List<String> values) {
            addCriterion("buyer_name in", values, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotIn(List<String> values) {
            addCriterion("buyer_name not in", values, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameBetween(String value1, String value2) {
            addCriterion("buyer_name between", value1, value2, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotBetween(String value1, String value2) {
            addCriterion("buyer_name not between", value1, value2, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileIsNull() {
            addCriterion("buyer_mobile is null");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileIsNotNull() {
            addCriterion("buyer_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileEqualTo(String value) {
            addCriterion("buyer_mobile =", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileNotEqualTo(String value) {
            addCriterion("buyer_mobile <>", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileGreaterThan(String value) {
            addCriterion("buyer_mobile >", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_mobile >=", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileLessThan(String value) {
            addCriterion("buyer_mobile <", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileLessThanOrEqualTo(String value) {
            addCriterion("buyer_mobile <=", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileLike(String value) {
            addCriterion("buyer_mobile like", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileNotLike(String value) {
            addCriterion("buyer_mobile not like", value, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileIn(List<String> values) {
            addCriterion("buyer_mobile in", values, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileNotIn(List<String> values) {
            addCriterion("buyer_mobile not in", values, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileBetween(String value1, String value2) {
            addCriterion("buyer_mobile between", value1, value2, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerMobileNotBetween(String value1, String value2) {
            addCriterion("buyer_mobile not between", value1, value2, "buyerMobile");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressIsNull() {
            addCriterion("buyer_address is null");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressIsNotNull() {
            addCriterion("buyer_address is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressEqualTo(String value) {
            addCriterion("buyer_address =", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressNotEqualTo(String value) {
            addCriterion("buyer_address <>", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressGreaterThan(String value) {
            addCriterion("buyer_address >", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_address >=", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressLessThan(String value) {
            addCriterion("buyer_address <", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressLessThanOrEqualTo(String value) {
            addCriterion("buyer_address <=", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressLike(String value) {
            addCriterion("buyer_address like", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressNotLike(String value) {
            addCriterion("buyer_address not like", value, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressIn(List<String> values) {
            addCriterion("buyer_address in", values, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressNotIn(List<String> values) {
            addCriterion("buyer_address not in", values, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressBetween(String value1, String value2) {
            addCriterion("buyer_address between", value1, value2, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerAddressNotBetween(String value1, String value2) {
            addCriterion("buyer_address not between", value1, value2, "buyerAddress");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeIsNull() {
            addCriterion("buyer_car_type is null");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeIsNotNull() {
            addCriterion("buyer_car_type is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeEqualTo(String value) {
            addCriterion("buyer_car_type =", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeNotEqualTo(String value) {
            addCriterion("buyer_car_type <>", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeGreaterThan(String value) {
            addCriterion("buyer_car_type >", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_car_type >=", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeLessThan(String value) {
            addCriterion("buyer_car_type <", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeLessThanOrEqualTo(String value) {
            addCriterion("buyer_car_type <=", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeLike(String value) {
            addCriterion("buyer_car_type like", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeNotLike(String value) {
            addCriterion("buyer_car_type not like", value, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeIn(List<String> values) {
            addCriterion("buyer_car_type in", values, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeNotIn(List<String> values) {
            addCriterion("buyer_car_type not in", values, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeBetween(String value1, String value2) {
            addCriterion("buyer_car_type between", value1, value2, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerCarTypeNotBetween(String value1, String value2) {
            addCriterion("buyer_car_type not between", value1, value2, "buyerCarType");
            return (Criteria) this;
        }

        public Criteria andBuyerProductIsNull() {
            addCriterion("buyer_product is null");
            return (Criteria) this;
        }

        public Criteria andBuyerProductIsNotNull() {
            addCriterion("buyer_product is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerProductEqualTo(String value) {
            addCriterion("buyer_product =", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductNotEqualTo(String value) {
            addCriterion("buyer_product <>", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductGreaterThan(String value) {
            addCriterion("buyer_product >", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_product >=", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductLessThan(String value) {
            addCriterion("buyer_product <", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductLessThanOrEqualTo(String value) {
            addCriterion("buyer_product <=", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductLike(String value) {
            addCriterion("buyer_product like", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductNotLike(String value) {
            addCriterion("buyer_product not like", value, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductIn(List<String> values) {
            addCriterion("buyer_product in", values, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductNotIn(List<String> values) {
            addCriterion("buyer_product not in", values, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductBetween(String value1, String value2) {
            addCriterion("buyer_product between", value1, value2, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andBuyerProductNotBetween(String value1, String value2) {
            addCriterion("buyer_product not between", value1, value2, "buyerProduct");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNull() {
            addCriterion("seller_id is null");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNotNull() {
            addCriterion("seller_id is not null");
            return (Criteria) this;
        }

        public Criteria andSellerIdEqualTo(Long value) {
            addCriterion("seller_id =", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotEqualTo(Long value) {
            addCriterion("seller_id <>", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThan(Long value) {
            addCriterion("seller_id >", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("seller_id >=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThan(Long value) {
            addCriterion("seller_id <", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThanOrEqualTo(Long value) {
            addCriterion("seller_id <=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdIn(List<Long> values) {
            addCriterion("seller_id in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotIn(List<Long> values) {
            addCriterion("seller_id not in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdBetween(Long value1, Long value2) {
            addCriterion("seller_id between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotBetween(Long value1, Long value2) {
            addCriterion("seller_id not between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerNameIsNull() {
            addCriterion("seller_name is null");
            return (Criteria) this;
        }

        public Criteria andSellerNameIsNotNull() {
            addCriterion("seller_name is not null");
            return (Criteria) this;
        }

        public Criteria andSellerNameEqualTo(String value) {
            addCriterion("seller_name =", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotEqualTo(String value) {
            addCriterion("seller_name <>", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameGreaterThan(String value) {
            addCriterion("seller_name >", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameGreaterThanOrEqualTo(String value) {
            addCriterion("seller_name >=", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLessThan(String value) {
            addCriterion("seller_name <", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLessThanOrEqualTo(String value) {
            addCriterion("seller_name <=", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLike(String value) {
            addCriterion("seller_name like", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotLike(String value) {
            addCriterion("seller_name not like", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameIn(List<String> values) {
            addCriterion("seller_name in", values, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotIn(List<String> values) {
            addCriterion("seller_name not in", values, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameBetween(String value1, String value2) {
            addCriterion("seller_name between", value1, value2, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotBetween(String value1, String value2) {
            addCriterion("seller_name not between", value1, value2, "sellerName");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNull() {
            addCriterion("create_uid is null");
            return (Criteria) this;
        }

        public Criteria andCreateUidIsNotNull() {
            addCriterion("create_uid is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUidEqualTo(Long value) {
            addCriterion("create_uid =", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotEqualTo(Long value) {
            addCriterion("create_uid <>", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThan(Long value) {
            addCriterion("create_uid >", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidGreaterThanOrEqualTo(Long value) {
            addCriterion("create_uid >=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThan(Long value) {
            addCriterion("create_uid <", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidLessThanOrEqualTo(Long value) {
            addCriterion("create_uid <=", value, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidIn(List<Long> values) {
            addCriterion("create_uid in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotIn(List<Long> values) {
            addCriterion("create_uid not in", values, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidBetween(Long value1, Long value2) {
            addCriterion("create_uid between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUidNotBetween(Long value1, Long value2) {
            addCriterion("create_uid not between", value1, value2, "createUid");
            return (Criteria) this;
        }

        public Criteria andCreateUnameIsNull() {
            addCriterion("create_uname is null");
            return (Criteria) this;
        }

        public Criteria andCreateUnameIsNotNull() {
            addCriterion("create_uname is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUnameEqualTo(String value) {
            addCriterion("create_uname =", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameNotEqualTo(String value) {
            addCriterion("create_uname <>", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameGreaterThan(String value) {
            addCriterion("create_uname >", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameGreaterThanOrEqualTo(String value) {
            addCriterion("create_uname >=", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameLessThan(String value) {
            addCriterion("create_uname <", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameLessThanOrEqualTo(String value) {
            addCriterion("create_uname <=", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameLike(String value) {
            addCriterion("create_uname like", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameNotLike(String value) {
            addCriterion("create_uname not like", value, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameIn(List<String> values) {
            addCriterion("create_uname in", values, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameNotIn(List<String> values) {
            addCriterion("create_uname not in", values, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameBetween(String value1, String value2) {
            addCriterion("create_uname between", value1, value2, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateUnameNotBetween(String value1, String value2) {
            addCriterion("create_uname not between", value1, value2, "createUname");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNull() {
            addCriterion("store_id is null");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNotNull() {
            addCriterion("store_id is not null");
            return (Criteria) this;
        }

        public Criteria andStoreIdEqualTo(Long value) {
            addCriterion("store_id =", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotEqualTo(Long value) {
            addCriterion("store_id <>", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThan(Long value) {
            addCriterion("store_id >", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThanOrEqualTo(Long value) {
            addCriterion("store_id >=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThan(Long value) {
            addCriterion("store_id <", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThanOrEqualTo(Long value) {
            addCriterion("store_id <=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdIn(List<Long> values) {
            addCriterion("store_id in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotIn(List<Long> values) {
            addCriterion("store_id not in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdBetween(Long value1, Long value2) {
            addCriterion("store_id between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotBetween(Long value1, Long value2) {
            addCriterion("store_id not between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreNameIsNull() {
            addCriterion("store_name is null");
            return (Criteria) this;
        }

        public Criteria andStoreNameIsNotNull() {
            addCriterion("store_name is not null");
            return (Criteria) this;
        }

        public Criteria andStoreNameEqualTo(String value) {
            addCriterion("store_name =", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameNotEqualTo(String value) {
            addCriterion("store_name <>", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameGreaterThan(String value) {
            addCriterion("store_name >", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameGreaterThanOrEqualTo(String value) {
            addCriterion("store_name >=", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameLessThan(String value) {
            addCriterion("store_name <", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameLessThanOrEqualTo(String value) {
            addCriterion("store_name <=", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameLike(String value) {
            addCriterion("store_name like", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameNotLike(String value) {
            addCriterion("store_name not like", value, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameIn(List<String> values) {
            addCriterion("store_name in", values, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameNotIn(List<String> values) {
            addCriterion("store_name not in", values, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameBetween(String value1, String value2) {
            addCriterion("store_name between", value1, value2, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreNameNotBetween(String value1, String value2) {
            addCriterion("store_name not between", value1, value2, "storeName");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameIsNull() {
            addCriterion("store_linkname is null");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameIsNotNull() {
            addCriterion("store_linkname is not null");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameEqualTo(String value) {
            addCriterion("store_linkname =", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameNotEqualTo(String value) {
            addCriterion("store_linkname <>", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameGreaterThan(String value) {
            addCriterion("store_linkname >", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameGreaterThanOrEqualTo(String value) {
            addCriterion("store_linkname >=", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameLessThan(String value) {
            addCriterion("store_linkname <", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameLessThanOrEqualTo(String value) {
            addCriterion("store_linkname <=", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameLike(String value) {
            addCriterion("store_linkname like", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameNotLike(String value) {
            addCriterion("store_linkname not like", value, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameIn(List<String> values) {
            addCriterion("store_linkname in", values, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameNotIn(List<String> values) {
            addCriterion("store_linkname not in", values, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameBetween(String value1, String value2) {
            addCriterion("store_linkname between", value1, value2, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreLinknameNotBetween(String value1, String value2) {
            addCriterion("store_linkname not between", value1, value2, "storeLinkname");
            return (Criteria) this;
        }

        public Criteria andStoreMobileIsNull() {
            addCriterion("store_mobile is null");
            return (Criteria) this;
        }

        public Criteria andStoreMobileIsNotNull() {
            addCriterion("store_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andStoreMobileEqualTo(String value) {
            addCriterion("store_mobile =", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileNotEqualTo(String value) {
            addCriterion("store_mobile <>", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileGreaterThan(String value) {
            addCriterion("store_mobile >", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileGreaterThanOrEqualTo(String value) {
            addCriterion("store_mobile >=", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileLessThan(String value) {
            addCriterion("store_mobile <", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileLessThanOrEqualTo(String value) {
            addCriterion("store_mobile <=", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileLike(String value) {
            addCriterion("store_mobile like", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileNotLike(String value) {
            addCriterion("store_mobile not like", value, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileIn(List<String> values) {
            addCriterion("store_mobile in", values, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileNotIn(List<String> values) {
            addCriterion("store_mobile not in", values, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileBetween(String value1, String value2) {
            addCriterion("store_mobile between", value1, value2, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andStoreMobileNotBetween(String value1, String value2) {
            addCriterion("store_mobile not between", value1, value2, "storeMobile");
            return (Criteria) this;
        }

        public Criteria andPdUidIsNull() {
            addCriterion("pd_uid is null");
            return (Criteria) this;
        }

        public Criteria andPdUidIsNotNull() {
            addCriterion("pd_uid is not null");
            return (Criteria) this;
        }

        public Criteria andPdUidEqualTo(Long value) {
            addCriterion("pd_uid =", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidNotEqualTo(Long value) {
            addCriterion("pd_uid <>", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidGreaterThan(Long value) {
            addCriterion("pd_uid >", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidGreaterThanOrEqualTo(Long value) {
            addCriterion("pd_uid >=", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidLessThan(Long value) {
            addCriterion("pd_uid <", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidLessThanOrEqualTo(Long value) {
            addCriterion("pd_uid <=", value, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidIn(List<Long> values) {
            addCriterion("pd_uid in", values, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidNotIn(List<Long> values) {
            addCriterion("pd_uid not in", values, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidBetween(Long value1, Long value2) {
            addCriterion("pd_uid between", value1, value2, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUidNotBetween(Long value1, Long value2) {
            addCriterion("pd_uid not between", value1, value2, "pdUid");
            return (Criteria) this;
        }

        public Criteria andPdUnameIsNull() {
            addCriterion("pd_uname is null");
            return (Criteria) this;
        }

        public Criteria andPdUnameIsNotNull() {
            addCriterion("pd_uname is not null");
            return (Criteria) this;
        }

        public Criteria andPdUnameEqualTo(String value) {
            addCriterion("pd_uname =", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameNotEqualTo(String value) {
            addCriterion("pd_uname <>", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameGreaterThan(String value) {
            addCriterion("pd_uname >", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameGreaterThanOrEqualTo(String value) {
            addCriterion("pd_uname >=", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameLessThan(String value) {
            addCriterion("pd_uname <", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameLessThanOrEqualTo(String value) {
            addCriterion("pd_uname <=", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameLike(String value) {
            addCriterion("pd_uname like", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameNotLike(String value) {
            addCriterion("pd_uname not like", value, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameIn(List<String> values) {
            addCriterion("pd_uname in", values, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameNotIn(List<String> values) {
            addCriterion("pd_uname not in", values, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameBetween(String value1, String value2) {
            addCriterion("pd_uname between", value1, value2, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdUnameNotBetween(String value1, String value2) {
            addCriterion("pd_uname not between", value1, value2, "pdUname");
            return (Criteria) this;
        }

        public Criteria andPdTimeIsNull() {
            addCriterion("pd_time is null");
            return (Criteria) this;
        }

        public Criteria andPdTimeIsNotNull() {
            addCriterion("pd_time is not null");
            return (Criteria) this;
        }

        public Criteria andPdTimeEqualTo(Date value) {
            addCriterion("pd_time =", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeNotEqualTo(Date value) {
            addCriterion("pd_time <>", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeGreaterThan(Date value) {
            addCriterion("pd_time >", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pd_time >=", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeLessThan(Date value) {
            addCriterion("pd_time <", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeLessThanOrEqualTo(Date value) {
            addCriterion("pd_time <=", value, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeIn(List<Date> values) {
            addCriterion("pd_time in", values, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeNotIn(List<Date> values) {
            addCriterion("pd_time not in", values, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeBetween(Date value1, Date value2) {
            addCriterion("pd_time between", value1, value2, "pdTime");
            return (Criteria) this;
        }

        public Criteria andPdTimeNotBetween(Date value1, Date value2) {
            addCriterion("pd_time not between", value1, value2, "pdTime");
            return (Criteria) this;
        }

        public Criteria andHxmIsNull() {
            addCriterion("hxm is null");
            return (Criteria) this;
        }

        public Criteria andHxmIsNotNull() {
            addCriterion("hxm is not null");
            return (Criteria) this;
        }

        public Criteria andHxmEqualTo(String value) {
            addCriterion("hxm =", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmNotEqualTo(String value) {
            addCriterion("hxm <>", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmGreaterThan(String value) {
            addCriterion("hxm >", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmGreaterThanOrEqualTo(String value) {
            addCriterion("hxm >=", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmLessThan(String value) {
            addCriterion("hxm <", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmLessThanOrEqualTo(String value) {
            addCriterion("hxm <=", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmLike(String value) {
            addCriterion("hxm like", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmNotLike(String value) {
            addCriterion("hxm not like", value, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmIn(List<String> values) {
            addCriterion("hxm in", values, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmNotIn(List<String> values) {
            addCriterion("hxm not in", values, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmBetween(String value1, String value2) {
            addCriterion("hxm between", value1, value2, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxmNotBetween(String value1, String value2) {
            addCriterion("hxm not between", value1, value2, "hxm");
            return (Criteria) this;
        }

        public Criteria andHxIdIsNull() {
            addCriterion("hx_id is null");
            return (Criteria) this;
        }

        public Criteria andHxIdIsNotNull() {
            addCriterion("hx_id is not null");
            return (Criteria) this;
        }

        public Criteria andHxIdEqualTo(Long value) {
            addCriterion("hx_id =", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdNotEqualTo(Long value) {
            addCriterion("hx_id <>", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdGreaterThan(Long value) {
            addCriterion("hx_id >", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdGreaterThanOrEqualTo(Long value) {
            addCriterion("hx_id >=", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdLessThan(Long value) {
            addCriterion("hx_id <", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdLessThanOrEqualTo(Long value) {
            addCriterion("hx_id <=", value, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdIn(List<Long> values) {
            addCriterion("hx_id in", values, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdNotIn(List<Long> values) {
            addCriterion("hx_id not in", values, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdBetween(Long value1, Long value2) {
            addCriterion("hx_id between", value1, value2, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxIdNotBetween(Long value1, Long value2) {
            addCriterion("hx_id not between", value1, value2, "hxId");
            return (Criteria) this;
        }

        public Criteria andHxNameIsNull() {
            addCriterion("hx_name is null");
            return (Criteria) this;
        }

        public Criteria andHxNameIsNotNull() {
            addCriterion("hx_name is not null");
            return (Criteria) this;
        }

        public Criteria andHxNameEqualTo(String value) {
            addCriterion("hx_name =", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameNotEqualTo(String value) {
            addCriterion("hx_name <>", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameGreaterThan(String value) {
            addCriterion("hx_name >", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameGreaterThanOrEqualTo(String value) {
            addCriterion("hx_name >=", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameLessThan(String value) {
            addCriterion("hx_name <", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameLessThanOrEqualTo(String value) {
            addCriterion("hx_name <=", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameLike(String value) {
            addCriterion("hx_name like", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameNotLike(String value) {
            addCriterion("hx_name not like", value, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameIn(List<String> values) {
            addCriterion("hx_name in", values, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameNotIn(List<String> values) {
            addCriterion("hx_name not in", values, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameBetween(String value1, String value2) {
            addCriterion("hx_name between", value1, value2, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxNameNotBetween(String value1, String value2) {
            addCriterion("hx_name not between", value1, value2, "hxName");
            return (Criteria) this;
        }

        public Criteria andHxTimeIsNull() {
            addCriterion("hx_time is null");
            return (Criteria) this;
        }

        public Criteria andHxTimeIsNotNull() {
            addCriterion("hx_time is not null");
            return (Criteria) this;
        }

        public Criteria andHxTimeEqualTo(Date value) {
            addCriterion("hx_time =", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeNotEqualTo(Date value) {
            addCriterion("hx_time <>", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeGreaterThan(Date value) {
            addCriterion("hx_time >", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("hx_time >=", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeLessThan(Date value) {
            addCriterion("hx_time <", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeLessThanOrEqualTo(Date value) {
            addCriterion("hx_time <=", value, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeIn(List<Date> values) {
            addCriterion("hx_time in", values, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeNotIn(List<Date> values) {
            addCriterion("hx_time not in", values, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeBetween(Date value1, Date value2) {
            addCriterion("hx_time between", value1, value2, "hxTime");
            return (Criteria) this;
        }

        public Criteria andHxTimeNotBetween(Date value1, Date value2) {
            addCriterion("hx_time not between", value1, value2, "hxTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}